package com.ws.variable;

/*
基本数据类型之间的运算规则
1.自动类型提升：
    当容量小的数据类型的变量与容量大的数据类型的变量做运算时，结果自动提升为容量大的数据类型
    byte \ short \ char --> int  --> long  --> float  --> double
    特别的：当 byte、char、short 三种类型的变量做运算时，结果为 int 型

2.强制类型转换：
    需要使用强转符：()
    强制类型转换可能导致精度损失
 */
public class VariableTest2 {

    public static void main(String[] args) {
        byte b1 = 10;
        int i1 = 126;

        // 强制类型转换
        byte b2 = (byte) (b1 + i1);
        System.out.println(b2);

        float f1 = b1 + i1;
        System.out.println(f1);

        short s1 = 123;
        double d1 = s1;
        System.out.println(d1);


        char c1 = 'a';
        short s2 = 10;
        short s3 = (short) (s2 + c1);
        System.out.println(s3);

        char c2 = 'a';
        short s4 = 10;
        char c3 = (char) (c2 + s4);
        System.out.println(c3);
    }

}
